<?php
namespace App\Controllers;
class Travel extends BaseController
{
    
    public function index()
    {
        // connect to the model
        $places = new \App\Models\Places();
        $table = new \CodeIgniter\View\Table();
        $records = $places->findAll();
        $headings = $places->fields;
        $displayHeadings = array_slice($headings, 1, 2);
        $table->setHeading(array_map('ucfirst', $displayHeadings));

        foreach ($records as $record) {
            //$table->addRow($record->name,$record->description);
            $nameLink = anchor("travel/showme/$record->id",$record->name);
            $table->addRow($nameLink,$record->description);
            }

            $template = [
                'table_open' => '<table cellpadding="5px">',
                'cell_start' => '<td style="border: 1px solid #dddddd;">',
                'row_alt_start' => '<tr style="background-color:#dddddd">',
                ];
                
                $table->setTemplate($template);
                $fields = [
                    'title' => 'Travel Destinations',
                    'heading' => 'Travel Destinations',
                    'footer' => 'Copyright Lu Tanyan'
                    ];
                    $parser = \Config\Services::parser();
                    return $parser->setData($fields)
                    ->render('templates\top') .
                    $table->generate() .
                    $parser->setData($fields)
                    ->render('templates\bottom');
            
        //return $table->generate();

        /*
        // retrieve all the records
        $records = $places->findAll();
        // get a template parser
        $parser = \Config\Services::parser();
        // tell it about the substitions
        return $parser->setData(['records' => $records])
            // and have it render the template with those
            ->render('placeslist');
            */
    }

    public function showme($id)
    {
        $places = new \App\Models\Places();
        $table = new \CodeIgniter\View\Table();

        $record = $places->find($id);

            $table->addRow(anchor(("travel/edit/$id"),"Edit")); 
            $table->addRow("ID",$record["id"]);
            $table->addRow("Name",$record["name"]);
            $table->addRow("Description",$record["description"]);
            $table->addRow("Link",$record["link"]);
            $table->addRow("Image","<img src=\"/image/".$record["image"]."\"/>");

            $fields = [
                'title' => 'Travel Destinations',
                'heading' => $record['name'],
                'footer' => 'Copyright Lu Tanyan'
                ];
                $parser = \Config\Services::parser();
                return $parser->setData($fields)
                ->render('templates\top') .
                $table->generate() .
                $parser->setData($fields)
                ->render('templates\bottom');

        // get a template parser
        //$parser = \Config\Services::parser();
        // tell it about the substitions
        //return $parser->setData($record)
        // and have it render the template with those
        //->render('oneplace');
    }
    public function edit($id = NULL) {
        $places = new \App\Models\Places();
        $record = $places->find($id);

        $fields = [
            'title' => 'Edit a Destination',
            'heading' => 'Edit a Destination',
            'footer' => 'Copyright Lu Tanyan'
            ];

            $parser = \Config\Services::parser();
            return $parser->setData($fields)
                ->render('templates\top') .
                $parser->setData($record)
                    ->render('editplace') .
                $parser->setData($fields)
                    ->render('templates\bottom');
    }
    public function handle() {
        $places = new \App\Models\Places();
        helper(['form', 'url']);
        $record = $places->find($this->request->getPost('id'));

        if ($this->validate($places->validationRules)) {
            $places->save([
            'id' => $this->request->getPost('id'),
            'name' => $this->request->getPost('name'),
            'description' => $this->request->getPost('description'),
            'link' => $this->request->getPost('link'),
            'image' => $this->request->getPost('image'),
            ]);
            }

            $fields = [
                'title' => 'Edit a Destination',
                'heading' => 'Edit a Destination',
                'footer' => 'Copyright Lu Tanyan'
                ];
                $parser = \Config\Services::parser();

                //Top of page
                $returnView = $parser->setData($fields)->render('templates\top');
                
                //Body of page
                if (!$this->validate($places->validationRules)) {
                    $returnView .= $parser->renderString($this->validator->listErrors());
                    $returnView .= $parser->setData($this->request->getPost())
                        ->render('editplace');
                } else {
                    $returnView .= $parser->renderString("<p>Success!</p>");
                    $returnView .= $parser->setData($this->request->getPost())
                        ->render('editplace');
                }
                
                //Bottom of page
                $returnView .= $parser->setData($fields)
                    ->render('templates\bottom');
                
                    return $returnView;
     }
}